@echo off
title 股票服务器管理器
chcp 65001 >nul
cls

echo.
echo ╔══════════════════════════════════════╗
echo ║        股票自选服务器管理器           ║
echo ╠══════════════════════════════════════╣
echo ║  1. 启动服务器                        ║
echo ║  2. 停止服务器                        ║
echo ║  3. 重启服务器                        ║
echo ║  4. 查看服务器状态                    ║
echo ║  5. 退出                              ║
echo ╚══════════════════════════════════════╝
echo.

:menu
set /p choice=请选择操作 (1-5):

if "%choice%"=="1" goto start
if "%choice%"=="2" goto stop
if "%choice%"=="3" goto restart
if "%choice%"=="4" goto status
if "%choice%"=="5" goto exit
echo 无效选择，请重新输入
goto menu

:start
echo.
echo 🚀 正在启动股票服务器...
echo.

REM 检查Node.js是否安装
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误: 未检测到Node.js，请先安装Node.js
    echo 下载地址: https://nodejs.org/
    pause
    goto menu
)

REM 检查依赖是否安装
if not exist node_modules (
    echo 📦 正在安装依赖...
    npm install
    if %errorlevel% neq 0 (
        echo ❌ 错误: 依赖安装失败
        pause
        goto menu
    )
    echo ✅ 依赖安装完成！
)

echo 🌐 启动服务器...
echo 📍 服务器地址: http://localhost:3000
echo 💡 按 Ctrl+C 停止服务器
echo.
cd %~dp0.. && start "股票服务器" cmd /k "node server/server.js"
timeout /t 2 >nul
goto menu

:stop
echo.
echo 🛑 正在停止股票服务器...
echo.
cd %~dp0.. && node scripts/stop-server.js
echo.
pause
goto menu

:restart
echo.
echo 🔄 正在重启股票服务器...
echo.
call :stop
timeout /t 3 >nul
call :start
goto menu

:status
echo.
echo 📊 检查服务器状态...
echo.

REM 检查端口3000
netstat -ano | findstr :3000 >nul
if %errorlevel% equ 0 (
    echo ✅ 服务器正在运行 (端口3000)
    for /f "tokens=5" %%i in ('netstat -ano ^| findstr :3000') do (
        echo 📍 进程ID: %%i
    )
    echo 🌐 访问地址: http://localhost:3000
) else (
    echo ❌ 服务器未运行
)

REM 检查Node.js进程
tasklist | findstr node.exe >nul
if %errorlevel% equ 0 (
    echo 📋 发现Node.js进程正在运行
) else (
    echo 📋 未发现Node.js进程
)

echo.
pause
goto menu

:exit
echo.
echo 👋 再见！
timeout /t 2 >nul
exit /b 0